from main.model.logic.output import Output

class DeviceManager(object):
    
    """Data object to group all devices"""
    def __init__(self, disk, memory, cpu, io, output=None):
        self.__disk = disk
        self.__memory = memory
        self.__cpu = cpu
        self.__io = io
        self.__output = output or Output()
        self.__cpu.device_manager = self

    @property
    def disk(self): return self.__disk

    @disk.setter
    def disk(self, value): self.__disk = value

    @property
    def memory(self): return self.__memory

    @memory.setter
    def memory(self, value): self.__memory = value

    @property
    def cpu(self): return self.__cpu

    @cpu.setter
    def cpu(self, value): self.__cpu = value

    @property
    def io(self): return self.__io

    @io.setter
    def io(self, value): self.__io = value

    @property
    def output(self): return self.__output

    @output.setter
    def output(self, value): self.__output = value

